﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace BYFW.Model.Authorization
{
    /// <summary>
    /// 权限管理系统中的模块类；
    /// 本类有两种对象分为固定：代码中设计的各个模块，属于硬编码和自定义。
    /// 自定义：用户定义的模块，如每个“部门”都是作为一个单独的模块操作，“部门”类需要在add和delete方法中操作对应的module类
    /// </summary>
    public class Module : BOL.BaseConfigEntity
    {
        public Module()
        {
            m_tableName = "auth_module";
            m_tblCacheManager.IsEnable = true;
            m_hasCode = true;
            m_hasName = true;
            m_hasComment = true;
        }

        protected bool m_isFix = false;

        /// <summary>
        /// 本模块是否为固定的
        /// </summary>
        public bool IsFix
        {
            get { return m_isFix; }
        }

        protected override void FillContainer()
        {
            base.FillContainer();
            this.m_container.Add("isFix", m_isFix);
        }
        public override bool GetProperties(DataRow record)
        {
            if (!base.GetProperties(record))
            {
                return false;
            }
            m_isFix = this.GetBoolValue(record, "isFix");
            return true;
        }
        public override int Delete(string transID)
        {
            if (!m_isFix)
            {
                return base.Delete(transID);
            }
            return 0;
        }
        public override int Update(string transID)
        {
            if (!m_isFix)
            {
                return base.Update(transID);
            }
            return 0;
        }
    }
}
